iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
AI & Data

跟著生成式AI一起從零開始學習資料庫,系列 第 11

Day 11 合併多張表格資料

  • 分享至 

  • xImage
  •  

當單筆資料過多時,會經過正規化分割存在數個表格中,如果想要取回完整料時,就需要透過外建連接,合併後再取回

  • 自然合併
  • 自我合併
  • 外部合併

基本觀念
oracle是透過SELECT...FROM來達成,當FROM子句出現多個資料表或是觀測值時,Oracle會將至些資料表合併,並透過SELECT指定的欄位,從符合的資料列中輸出資料。
SELECT 表1.欄位, 表2.欄位
FROM 表1
[NATURAL JOIN 表2]|
[JOIN 表2 USING (欄位)]|
[JOIN 表2 ON 表1.欄位 = 表2.欄位]|
[LEFT|RIGH|FULL OUTER JOIN 表2
ON 表1.欄位 = 表2.欄位]|[CROSS JOIN 表2]|
[WHERE 表1.欄位 = 表2.欄位]
1.資料表1和資料表2為合併資料表名稱,可用別名簡化
2.[]為合併條件,不會同時出現
自然合併:具有同名同類型的資料欄位以等同匹配運算式進行資料列結合運算方式
SELECT 表1.欄位, 表2.欄位
FROM 表1
NATURAL JOIN 表2
[WHERE 檢索限制條件]

  1. 自我合併將表1和表2同名欄位互相比較,內容相同者資料結合成一筆資料
  2. NATURAL JOIN 僅能合併兩個資料表,子句不可再加其他條件

JOIN..USING...:合併兩個資料表中有多個欄位名稱相同,但有些欄位類型不同,可用來指定欄位進行合併
SELECT 表1.欄位, 表2.欄位
FROM 表1
JOIN 表2 USING (欄位)
[WHERE 檢索限制條件]

  1. 此為自然合併的一種型態,表1和表2為準備合併資料表,內有相同資料類型欄位
  2. USING一次只能對比一個欄位

JOIN...ON...:指定任意比較欄位與比較條件進行資料合併
SELECT 表1.欄位, 表2.欄位
FROM 表1
JOIN 表2 ON (合併比較條件)
[WHERE 檢索限制條件]


上一篇
Day 10 轉換函數2
下一篇
Day 12 合併多張表格資料2
系列文
跟著生成式AI一起從零開始學習資料庫,12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言